PATH
Hardware Documentation
>
USB Devices
>
Mac OS USB DDK API Reference
Table of Contents
Figures and Tables
About This Note
Contents of This Note
Supplemental Reference Documents
Mac OS USB Resources
Apple Developer Connection Web Site
Overview
Introduction to USB
Why Incorporate USB Into the Macintosh Architecture?
Better Device Expansion Model
Compact Connectors and Cables
Use of Standard Hardware
Lower Cost Than Comparable Non-USB Peripherals
Wide Selection of USB Devices
Device Classes
Low- and High-Speed Devices
USB Hub Devices
The USB Root Hub
Compatibility Issues
USB Software Gestalt Selectors
ADB, Serial/LocalTalk, and USB
Macintosh-To-Macintosh USB Connections
USB Storage Devices
Keyboard Requirements
USB Data Transfer Types Supported
USB Controller Support
USB Topology and Communication
USB Bus Topology
Host Software
Physical Topology
Logical Topology
Communication Over the USB
USB Interface
USB Devices
Endpoints
Endpoint 0
Non-0 Endpoints
Pipes
A Look At USB Devices with USB Prober
USB Software Components
Mac OS Software for USB Devices
USB Software Presence and Version Attributes
USB Interface Module (UIM)
USB Manager
Hub Driver
USB Class Drivers
USB Services Library (USL)
USB Services Library Reference
USB Services Library (USL)
Errors And Error Reporting Conventions
Device Access Errors
Errors on the USB Bus
Incorrect Command Errors
Driver Logic Errors
PCI Bus Busy Errors
USB References
The USBPB Parameter Block
Required USB Parameter Block Fields
Standard Parameter Block Errors
Asynchronous Call Support
Polling Versus Asynchronous Completion (Important)
USL Functions
USB Configuration Functions
Opening An Interface
Configuring The Device Interface(s)
Finding A Pipe
Getting Information About an Open Interface or Pipe
Generalized USB Device Request Function
USB Transaction Functions
Pipe State Control Functions
Data Toggle Synchronization
USB Management Services Functions
USB Time Utility Functions
USB Memory Functions
Byte Ordering (Endianism) Functions
USL Logging Services Functions
USB Descriptor Functions
Opening a Pipe
Device Management Functions
Constants and Data Structures
USB Constants
Parameter Block Constants
Endpoint Type Constants
usbBMRequest Direction Constants
usbBMRequestType Type Constants
usbBMRequest Recipient Constants
usbBRequest Constants
Interface Constants
Interface Protocol Constants
Driver Class Constants
Descriptor Type Constants
Pipe State Constants
USB Power and Bus Attribute Constants
Driver File and Resource Types
USB Data Structures
Driver Plug-in Dispatch Table Structure
Device Descriptor Structure
Configuration Descriptor Structure
Interface Descriptor Structure
Endpoint Descriptor Structure
HID Descriptor Structure
HID Report Descriptor Structure
Hub Port Status Structure
USL Error Codes
USB Manager Reference
Overview
USB Manager API
Topology Database Access Functions
Getting Device Descriptors
Getting Interface Descriptors
Finding The Driver For A Device By Class
Getting The Connection ID For Class Driver
Getting The Bus Reference For a Device
Callback Routine for Device Notification
Device Notification Callback Routine
Device Notification Parameter Block
Installing The Device Callback Request
Removing The Device Callback Request
Changes In Mac OS USB Version 1.1
Major Feature Updates In Version 1.1
Improved Bus Enumeration
Multiple USB Bus Support
Driver Notification Messages
Isochronous Transfer Support
Improved Functionality For USB Control Requests
The Isochronous Version Of The USBPB
Using the USBPB For Isochronous Transactions
Code Changes Required To Support The Version 1.1 USBPB
Conventions and Abbreviations
Conventions
Abbreviations
USB Terminology
© 1998 Apple Computer, Inc. – (Last Updated 23 Nov 98)
Previous
|
Back Up One Level
|
Next
|